﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NPMonitor
{
	/// <summary>
	/// Event arguments used to notify the service consumers of events
	/// </summary>
	public class NotificationEventArgs : EventArgs
	{
		internal NotificationEventArgs(string message)
		{
			Message = message;
		}

		/// <summary>
		/// Gets the notification message.
		/// </summary>
		public string Message { get; private set; }
	}

    public class ServiceStatusChangeEventArgs : EventArgs
    {
        public ServiceStatus FromStatus { get; internal set; }
        public ServiceStatus CurrentStatus { get; internal set; }

        internal ServiceStatusChangeEventArgs(ServiceStatus fromStatus, ServiceStatus currentStatus)
        {
            this.FromStatus = fromStatus;
            this.CurrentStatus = currentStatus;
        }
    }

    public class ConnectionStatusChangeEventArgs : EventArgs
    {
        public ConnectionStatus FromStatus { get; internal set; }
        public ConnectionStatus CurrentStatus { get; internal set; }

        internal ConnectionStatusChangeEventArgs(ConnectionStatus fromStatus, ConnectionStatus currentStatus)
        {
            this.FromStatus = fromStatus;
            this.CurrentStatus = currentStatus;
        }
    }
}
